package com.smartcampusbackend.service;

import com.smartcampusbackend.model.AcademicWarning;
import java.util.List;
import java.util.Map;

public interface AcademicWarningService {
    // 学生查看自己的学业预警
    List<AcademicWarning> listStudentWarnings(Long studentId);
    
    // 学生查看自己的学业预警（字符串ID版本）
    List<AcademicWarning> listStudentWarningsStr(String studentId);
    
    // 管理员/辅导员查看学业预警
    List<AcademicWarning> listAdminWarnings(Long userId);
    
    // 教师查看自己课程的学业预警
    List<AcademicWarning> listTeacherWarnings(Long teacherId);
    
    // 获取课程学业预警统计
    List<Map<String, Object>> getWarningStatsByTeacher(Long teacherId);
    
    // 获取所有课程学业预警统计
    List<Map<String, Object>> getAllWarningStats();
    
    // 根据课程ID获取学业预警学生列表
    List<Map<String, Object>> getWarningStudentsByCourse(String courseId);
    
    // 生成学业预警（从不及格成绩生成）
    void generateWarningsFromGrades();
    
    // 更新学业预警状态
    boolean updateWarningStatus(Long warningId, String status);
    
    // 检查学生是否有未解决的学业预警
    boolean hasUnresolvedWarnings(Long studentId);
} 